package cn.maihe.elg.operation.supports.bank.cmb.tradingmanager.pojo;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;


/**
 * 用户招商[交易管家(记账)]记账子单元交易记录
 *
 * @version V1.0
 * @author: Sidon
 * @createTime: 2022-01-14 16:33
 * Copyright (C)2021-2022 福建省金柠网络科技有限公司. All rights reserved.
 */
@NoArgsConstructor
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class AccountTrade {
    /**
     * 帐号
     */
    @JsonProperty("accnbr")
    private String bankAccount;

    /**
     * 记账子单元名称
     */
    @JsonProperty("dmanam")
    private String subAccountName;

    /**
     * 记账子单元编号
     */
    @JsonProperty("dmanbr")
    private String subAccount;

    /**
     * 收方/付方账号
     * {@link AccountTrade#tradeType} 字段<p/>
     * 为C(收入)时,则为[付款方]账号<p/>
     * 为D(支出)时,则为[收款方]账号<p/>
     */
    @JsonProperty("rpyacc")
    private String transAccount;

    /**
     * 收方/付方名称
     * {@link AccountTrade#tradeType} 字段<p/>
     * 为C(收入)时,则为[付款方]名称<p/>
     * 为D(支出)时,则为[收款方]名称<p/>
     */
    @JsonProperty("rpynam")
    private String transName;

    /**
     * 交易金额,当{@link AccountTrade#tradeType}为D(支出)时,金额为负数,例如:-0.05
     */
    @JsonProperty("trxamt")
    private String transAmount;

    /**
     * 交易方向
     * <pre>
     *     D-借方（支出）
     *     C-贷方（收入）
     * </pre>
     */
    @JsonProperty("trxdir")
    private String tradeType;

    /**
     * 记账流水号
     */
    @JsonProperty("trxnbr")
    private String serialNumber;

    /**
     * 交易时间
     */
    @JsonProperty("trxtim")
    private String transTime;

    /**
     * 交易摘要
     */
    @JsonProperty("trxtxt")
    private String transRemark;
}
